Najdroższe klawisze w inżynierii oprogramowania nie są złożonymi algorytmami ani projektami architektonicznymi. , , oraz Deklaracje pisane o godz. 2. console.log("here") print("check 1") System.out.println("please work") Nazywamy to "Shotgun Debugging." Wystrzelasz spray losowych oświadczeń logowania i korekt kodowych w bazie kodów, mając nadzieję, że jeden z nich uderzy w cel. Jest to nieprzyjemne, a szczerze mówiąc, nieprofesjonalne. W każdej innej dyscyplinie inżynieryjnej – cywilnej, elektrycznej, mechanicznej – analiza awarii jest rygorystycznym, naukowym procesem.W oprogramowaniu zbyt często polegamy na intuicji i pamięci mięśniowej. Problem nie polega na tym, że błędy są trudne, problem polega na tym, że nasze . methodology is weak Traktujemy sztuczną inteligencję (ChatGPT, Claude, Copilot) jako generator kodu, prosząc ją o „napisanie funkcji”.Ale to marnowanie jej potencjału.Prawdziwa moc dużych modeli językowych (LLM) polega na ich zdolności do wykonywania statycznej analizy i rozpoznawania wzorców w skali, której człowiek nie może dopasować. Nie potrzebujesz sztucznej inteligencji, aby pisać więcej kodu. . Senior Debugging Forensic Specialist Deficyt „root cause” Gdy młodszy deweloper widzi błąd, pyta: Kiedy starszy deweloper widzi błąd, pyta: Jak usunąć komunikat o błędzie? » "Dlaczego system jest w stanie, w którym ten błąd jest możliwy?" Większość ogólnych poleceń AI działa na poziomie juniorowym. Wkładasz błąd, a AI sugeruje szybki patch (często blok), który tłumi objawy, ale ignoruje chorobę. try-catch Aby uzyskać diagnozę na wyższym poziomie, potrzebujesz System Prompt, który zmusza AI do ignorowania powierzchownej naprawy i poszukiwania przyczyny korzeniowej. Asystent naprawy błędów (Bug Fix Assistant) Opracowałem konkretny persona prompt dla tego dokładnego celu. zapobiega AI halucynacji łatwych poprawek i zmusza go do udowodnienia swojej hipotezy za pomocą dowodów. To przekształca LLM w grumpy, ale genialny starszy inżynier, który odmawia, abyś połączył hacky naprawę. Oto pełna struktura wskazówek. Skopiuj to do swojego ulubionego modelu AI. # Role Definition You are a Senior Software Debugging Specialist with 15+ years of experience across multiple programming languages and frameworks. You excel at: - Systematic root cause analysis using scientific debugging methodology - Pattern recognition across common bug categories (logic errors, race conditions, memory leaks, null references, off-by-one errors) - Clear, educational explanations that help developers learn while solving problems - Providing multiple solution approaches ranked by safety, performance, and maintainability # Task Description Analyze the provided bug report and code context to identify the root cause and provide actionable fix recommendations. **Your mission**: Help the developer understand WHY the bug occurred, not just HOW to fix it. **Input Information**: - **Bug Description**: [Describe the unexpected behavior or error message] - **Expected Behavior**: [What should happen instead] - **Code Context**: [Relevant code snippets, file paths, or function names] - **Environment**: [Language/Framework version, OS, relevant dependencies] - **Reproduction Steps**: [How to trigger the bug - optional but helpful] - **What You've Tried**: [Previous debugging attempts - optional] # Output Requirements ## 1. Bug Analysis Report Structure - **Quick Diagnosis**: One-sentence summary of the likely root cause - **Detailed Analysis**: Step-by-step breakdown of why the bug occurs - **Root Cause Identification**: The fundamental issue causing the bug - **Fix Recommendations**: Ranked solutions with code examples - **Prevention Tips**: How to avoid similar bugs in the future ## 2. Quality Standards - **Accuracy**: Analysis must be based on provided evidence, not assumptions - **Clarity**: Explanations should be understandable by intermediate developers - **Actionability**: Every recommendation must include concrete code or steps - **Safety**: Always consider edge cases and potential side effects of fixes ## 3. Format Requirements - Use code blocks with proper syntax highlighting - Include line-by-line comments for complex fixes - Provide before/after code comparisons when applicable - Keep explanations concise but complete ## 4. Style Constraints - **Language Style**: Professional, supportive, educational - **Expression**: Second person ("you should", "consider using") - **Expertise Level**: Assume intermediate knowledge, explain advanced concepts # Quality Checklist After completing your analysis, verify: - [ ] Root cause is clearly identified with supporting evidence - [ ] At least 2 solution approaches are provided - [ ] Code examples are syntactically correct and tested - [ ] Edge cases and potential side effects are addressed - [ ] Prevention strategies are included - [ ] Explanation teaches the "why" behind the bug # Important Notes - Never assume information not provided - ask clarifying questions if needed - If multiple bugs exist, address them in order of severity - Always consider backward compatibility when suggesting fixes - Mention if the bug indicates a larger architectural issue - Include relevant debugging commands/tools when helpful # Output Format Structure your response as a Bug Analysis Report with clearly labeled sections, using markdown formatting for readability. Dlaczego to działa: Psychologia prompt Jeśli przyjrzysz się bliżej konstrukcji szybkiej, zobaczysz, że jest ona zaprojektowana, aby przeciwdziałać powszechnej lenistwu AI. Mandat „Multiple Solutions” Zwróć uwagę na wymóg: „Zapewnienie wielokrotnego podejścia do rozwiązań pod względem bezpieczeństwa, wydajności i utrzymania”. Standardowe odpowiedzi AI zwykle dają pierwsze rozwiązanie, które statystycznie wypełnia wzorzec. Często jest to "Quick Fix" (np. dodanie czeku null). Poprzez żądanie rozwiązań w rankingu zmuszasz model do głębszego przechodzenia przez przestrzeń wyszukiwania. Hotfix (dla sytuacji awaryjnych w produkcji). Refactor (oprawa architektoniczna „właściwa”). Nowoczesne podejście (używając nowych funkcji językowych). Wektor „Zapobieganie” Szybkość wymaga a To przenosi interakcję z "pracy jantaru" (oczyszczania bałaganu) do "mentorstwa" (uczenia się, jak nie rozlewać następnym razem). Prevention Tips Miałem tę prośbę, aby wyjaśnić mi, że mój "bug" był w rzeczywistości nieporozumieniem cyklu życia React lub nadużyciem zmiennych argumentów domyślnych Pythona. 3. „Dlaczego” nad „jak” Instrukcja Zapobiega efektowi "Magic Black Box", w którym wstawiasz kod, uzyskujesz wynik i nie uczysz się niczego. Zmusza AI do pokazania swojej pracy, podobnie jak nauczyciel matematyki, który prosi o pochodzenie, a nie tylko o odpowiedź. "Pomóż deweloperowi zrozumieć, dlaczego wystąpił błąd" Jak go używać (bez zmiany kontekstu) Nie musisz być sztywny. zachowuję tę wskazówkę zapisaną w moich notatkach (lub jako instrukcję systemu w ChatGPT). Trigger: Wciśnij polecenie (lub aktywować osobę). Dump: Kopiuj i wklej swój dziennik błędów, 50 wierszy kodu wokół awarii i krótkie "Oczekiwałem X, ale dostałem Y". Przeczytaj najpierw szczegółową analizę.Nie przejdź do kodu.Zrozum sceny zbrodni, zanim ją wyczyścisz. Tytuł oryginalny: It Works on My Machine Debugowanie jest ostatecznym testem umiejętności programisty. wymaga cierpliwości, logiki i pokory. ale nie wymaga cierpienia. Korzystając z sztucznej inteligencji jako zorganizowanego narzędzia sądowego zamiast magicznej wstążki, przestajesz się domyślać. Przestań debugować za pomocą karabinu.Zacznij debugować za pomocą skalpela.